package com.gbk.clickhouseservicestruct.model;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.myweb.ck.mapping.ChTable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import java.util.Date;

@ChTable(name = "tig.T_TIG_LANE_STATISTIC")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TIG_LANE_STATISTIC {

    /**
     * ID 主键 唯一 报警表id
     */
    private String id;

    /**
     * 设备时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date dectime;

    /**
     * 接收时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date recvtime;

    /**
     * 持续时间
     */
    private int duration;

    /**
     * 路口号
     */
    private String juncno;

    /**
     * 区域号
     */
    private String areano;

    /**
     * 方向编号
     */
    private Integer dirNo;

    /**
     * 车道号
     */
    private String laneno;

    /**
     * 检测器id，设备ip
     */
    private String decid;

    /**
     * 车道过车平均速度
     */
    public int speed;

    /**
     * 小型车数量
     */
    public int light;

    /**
     * 中型车数量
     */
    public int middle;

    /**
     * 重型车数量
     */
    public int heavy;

    /**
     * 车头时距，以秒计算
     */
    public int timeHeadway;

    /**
     * 车头间距，以米来计算
     */
    public int spaceHeadway;

    /**
     * 空间占有率，百分比计算,浮点数*1000
     */
    public float spaceOccupy;

    /**
     * 时间占有率，百分比计算,浮点数*1000
     */
    public float timeOccupy;

    /**
     * 路口编号
     */
    public String crossId;

    /**
     * 子路口号
     */
    public int subJuncNo;
}
